group { name: "elm/scroller/base/default";
   alias: "elm/list/base/default";
   alias: "elm/genlist/base/default";
   alias: "elm/gengrid/base/default";
   alias: "elm/scroller/base/map_bubble";
   alias: "elm/genscroller/base/default";
   alias: "elm/scroller/base/popup/default";
   alias: "elm/scroller/base/popup/transparent";

   images.image: "shadow_circle_horiz.png" COMP;
   images.image: "shadow_circle_vert.png" COMP;

   data.item: "focus_highlight" "on";

   parts {
      program { signal: "load"; source: "";
         script {
            emit("reload", "elm");
         }
      }

      //////////////////////////////////////////////////////////////////////
      part { name: "bg"; type: RECT;
         description { state: "default" 0.0;
            rel.to: "elm.swallow.background";
            color_class: "/bg/normal/scroller/base";
         }
      }
      part { name: "clipper"; type: RECT;
         description { state: "default" 0.0;
            rel.to: "elm.swallow.content";
         }
      }
      part { name: "elm.swallow.background"; type: SWALLOW;
         clip_to: "clipper";
         description { state: "default" 0.0;
         }
      }
      part { name: "elm.swallow.content"; type: SWALLOW;
         clip_to: "clipper";
         description { state: "default" 0.0;
            rel.to: "elm.swallow.background";
         }
      }
      part { name: "elm.swallow.overlay"; type: SWALLOW;
         clip_to: "clipper";
         description { state: "default" 0.0;
            rel.to: "elm.swallow.content";
         }
      }

      part { name: "sh_top"; mouse_events: 0;
         scale: 1;
         clip_to: "sh_clip";
         description { state: "default" 0.0;
            color_class: "/shadow/normal/scroller";
            color: 255 255 255 0; // no cc
            rel.to: "elm.swallow.content";
            rel1.offset: 0 -1;
            rel2.offset: -1 -1;
            rel2.relative: 1.0 0.0;
            image.normal: "shadow_circle_horiz.png";
            visible: 0;
            offscale;
         }
         description { state: "visible" 0.0;
            inherit: "default" 0.0;
            color: 255 255 255 255; // no cc
            rel1.offset: 0 -16;
            rel2.offset: -1 15;
            visible: 1;
         }
      }
      program { signal: "elm,action,show,up"; source: "elm";
         action: STATE_SET "visible" 0.0;
         transition: DECELERATE 0.3;
         target: "sh_top";
      }
      program { signal: "elm,action,hide,up"; source: "elm";
         action: STATE_SET "default" 0.0;
         transition: DECELERATE 0.3;
         target: "sh_top";
      }

      part { name: "sh_bottom"; mouse_events: 0;
         scale: 1;
         clip_to: "sh_clip";
         description { state: "default" 0.0;
            color_class: "/shadow/normal/scroller";
            color: 255 255 255 0; // no cc
            rel.to: "elm.swallow.content";
            rel1.relative: 0.0 1.0;
            rel1.offset: 0 0;
            rel2.offset: -1 0;
            image.normal: "shadow_circle_horiz.png";
            visible: 0;
            offscale;
         }
         description { state: "visible" 0.0;
            inherit: "default" 0.0;
            color: 255 255 255 255; // no cc
            rel1.offset: 0 -16;
            rel2.offset: -1 15;
            visible: 1;
         }
      }
      program { signal: "elm,action,show,down"; source: "elm";
         action: STATE_SET "visible" 0.0;
         transition: DECELERATE 0.3;
         target: "sh_bottom";
      }
      program { signal: "elm,action,hide,down"; source: "elm";
         action: STATE_SET "default" 0.0;
         transition: DECELERATE 0.3;
         target: "sh_bottom";
      }

      part { name: "sh_left"; mouse_events: 0;
         scale: 1;
         clip_to: "sh_clip";
         description { state: "default" 0.0;
            color_class: "/shadow/normal/scroller";
            color: 255 255 255 0; // no cc
            rel.to: "elm.swallow.content";
            rel1.offset: -1 0;
            rel2.offset: -1 -1;
            rel2.relative: 0.0 1.0;
            image.normal: "shadow_circle_vert.png";
            visible: 0;
            offscale;
         }
         description { state: "visible" 0.0;
            inherit: "default" 0.0;
            color: 255 255 255 255; // no cc
            rel1.offset: -16 0;
            rel2.offset: 15 -1;
            visible: 1;
         }
      }
      program { signal: "elm,action,show,left"; source: "elm";
         action: STATE_SET "visible" 0.0;
         transition: DECELERATE 0.3;
         target: "sh_left";
      }
      program { signal: "elm,action,hide,left"; source: "elm";
         action: STATE_SET "default" 0.0;
         transition: DECELERATE 0.3;
         target: "sh_left";
      }

      part { name: "sh_right"; mouse_events: 0;
         scale: 1;
         clip_to: "sh_clip";
         description { state: "default" 0.0;
            color_class: "/shadow/normal/scroller";
            color: 255 255 255 0; // no cc
            rel.to: "elm.swallow.content";
            rel1.relative: 1.0 0.0;
            rel1.offset: 0 0;
            rel2.offset: 0 -1;
            image.normal: "shadow_circle_vert.png";
            visible: 0;
            offscale;
         }
         description { state: "visible" 0.0;
            inherit: "default" 0.0;
            color: 255 255 255 255; // no cc
            rel1.offset: -16 0;
            rel2.offset: 15 -1;
            visible: 1;
         }
      }
      program { signal: "elm,action,show,right"; source: "elm";
         action: STATE_SET "visible" 0.0;
         transition: DECELERATE 0.3;
         target: "sh_right";
      }
      program { signal: "elm,action,hide,right"; source: "elm";
         action: STATE_SET "default" 0.0;
         transition: DECELERATE 0.3;
         target: "sh_right";
      }

      part { name: "sh_clip"; type: RECT;
         description { state: "default" 0.0;
            rel.to: "clipper";
         }
      }
      //////////////////////////////////////////////////////////////////////

// vert bar ////////////////////////////////////////////////////////////////
      part { name: "sb_vbar_show"; type: RECT;
         description { state: "default" 0.0;
         }
         description { state: "hidden" 0.0;
            inherit: "default" 0.0;
            visible: 0;
         }
      }
      part { name: "sb_vbar"; type: RECT;
         scale: 1;
         description { state: "default" 0.0;
            fixed: 1 1;
            min: 15 1;
            align: 1.0 0.0;
            rel1.relative: 1.0 0.0;
            rel1.offset: -1 0;
            rel2.relative: 1.0 0.0;
            rel2.to_y: "sb_hbar";
         }
         description { state: "hidden" 0.0;
            inherit: "default" 0.0;
            min: 0 0;
            max: 0 999999;
         }
      }
      part { name: "sb_vbar_p1"; type: RECT;
         clip_to: "sb_vbar";
         description { state: "default" 0.0;
            color: 0 0 0 0; // no cc
            rel1.to: "sb_vbar";
            rel2.relative: 1.0 0.0;
            rel2.to: "elm.dragable.vbar";
            fixed: 1 1;
         }
      }
      part { name: "sb_vbar_p2"; type: RECT;
         clip_to: "sb_vbar";
         description { state: "default" 0.0;
            color: 0 0 0 0; // no cc
            rel1.relative: 0.0 1.0;
            rel1.to: "elm.dragable.vbar";
            rel2.to: "sb_vbar";
            fixed: 1 1;
         }
      }
      part { name: "elm.dragable.vbar"; type: RECT;
         clip_to: "sb_vbar";
         scale: 1;
         dragable.x: 0 0 0;
         dragable.y: 1 1 0;
         dragable.confine: "sb_vbar";
         description { state: "default" 0.0;
            fixed: 1 1;
            min: 15 15;
            rel1.relative: 0.5  0.5;
            rel1.to: "sb_vbar";
            rel2.relative: 0.5  0.5;
            rel2.to: "sb_vbar";
            color: 0 0 0 0; // no cc
         }
         description { state: "hidden" 0.0;
            inherit: "default" 0.0;
            min: 0 0;
         }
         description { state: "clicked" 0.0;
            inherit: "default" 0.0;
         }
      }
      part { name: "sb_vbar_over"; type: RECT;
         repeat_events: 1;
         scale: 1;
         description { state: "default" 0.0;
            color: 0 0 0 0; // no cc
            rel1.to: "sb_vbar";
            rel1.offset: -45 0;
            rel2.to: "sb_vbar";
            fixed: 1 1;
            offscale;
         }
      }
      program { signal: "mouse,in"; source: "sb_vbar_over";
         action: STATE_SET "over" 0.0;
         transition: DECELERATE 0.2;
         target: "base_vbar";
      }
      program { signal: "mouse,out"; source: "sb_vbar_over";
         action: STATE_SET "default" 0.0;
         transition: DECELERATE 0.2;
         target: "base_vbar";
      }
      part { name: "y_vbar_up_mapper"; type: SPACER;
         scale: 1;
         repeat_events: 1;
         description { state: "default" 0.0;
            min: 4 2;
            max: 4 2;
            fixed: 1 1;
            align: 0.0 0.0;
            rel1.to: "sb_vbar";
            rel2.to: "sb_vbar";
         }
         description { state: "hidden" 0.0;
            inherit: "default" 0.0;
            min: 0 0;
            max: 0 0;
         }
      }
      part { name: "y_vbar_up"; type: SPACER;
         scale: 1;
         repeat_events: 1;
         description { state: "default" 0.0;
            min: 4 2;
            max: 4 2;
            fixed: 1 1;
            align: 0.0 0.0;
            rel1.to: "elm.dragable.vbar";
            rel2.to: "elm.dragable.vbar";
         }
         description { state: "hidden" 0.0;
            inherit: "default" 0.0;
            min: 0 0;
            max: 0 0;
         }
      }
      part { name: "y_vbar_down_mapper"; type: SPACER;
         scale: 1;
         repeat_events: 1;
         description { state: "default" 0.0;
            min: 4 2;
            max: 4 2;
            fixed: 1 1;
            align: 0.0 1.0;
            rel1.to: "sb_vbar";
            rel2.to: "sb_vbar";
         }
         description { state: "hidden" 0.0;
            inherit: "default" 0.0;
            min: 0 0;
            max: 0 0;
         }
      }
      part { name: "y_vbar_down"; type: SPACER;
         scale: 1;
         repeat_events: 1;
         description { state: "default" 0.0;
            min: 4 2;
            max: 4 2;
            fixed: 1 1;
            align: 0.0 1.0;
            rel1.to: "elm.dragable.vbar";
            rel2.to: "elm.dragable.vbar";
         }
         description { state: "hidden" 0.0;
            inherit: "default" 0.0;
            min: 0 0;
            max: 0 0;
         }
      }
      program { signal: "elm,action,show,vbar"; source: "elm";
         action: STATE_SET "default" 0.0;
         target: "sb_vbar";
         target: "sb_vbar_show";
         target: "elm.dragable.vbar";
         target: "y_vbar_up_mapper";
         target: "y_vbar_up";
         target: "y_vbar_down_mapper";
         target: "y_vbar_down";
      }
      program { signal: "elm,action,hide,vbar"; source: "elm";
         action: STATE_SET "hidden" 0.0;
         target: "sb_vbar";
         target: "sb_vbar_show";
         target: "elm.dragable.vbar";
         target: "y_vbar_up_mapper";
         target: "y_vbar_up";
         target: "y_vbar_down_mapper";
         target: "y_vbar_down";
      }
      program { signal: "mouse,down,1*"; source: "sb_vbar_p1";
         action: DRAG_VAL_PAGE 0.0 -1.0;
         target: "elm.dragable.vbar";
      }
      program { signal: "mouse,down,1*"; source: "sb_vbar_p2";
         action: DRAG_VAL_PAGE  0.0 1.0;
         target: "elm.dragable.vbar";
      }
//      program { signal: "elm,action,show,up"; source: "elm";
//      }
//      program { signal: "elm,action,show,down"; source: "elm";
//      }
//      program { signal: "elm,action,hide,up"; source: "elm";
//      }
//      program { signal: "elm,action,hide,down"; source: "elm";
//      }
//      program { signal: "elm,action,scroll"; source: "elm";
//      }
//      program { signal: "elm,loop_y,set"; source: "elm";
//      }
//      program { signal: "elm,loop_y,unset"; source: "elm";
//      }

// horiz bar /////////////////////////////////////////////////////////////
      part { name: "sb_hbar_show"; type: RECT;
         description { state: "default" 0.0;
         }
         description { state: "hidden" 0.0;
            inherit: "default" 0.0;
            visible: 0;
         }
      }
      part { name: "sb_hbar"; type: RECT; mouse_events: 0;
         scale: 1;
         description { state: "default" 0.0;
            fixed: 1 1;
            min: 1 15;
            align: 0.0 1.0;
            rel1.relative: 0.0 1.0;
            rel1.offset: 0 -1;
            rel2.relative: 0.0 1.0;
            rel2.to_x: "sb_vbar";
         }
         description { state: "hidden" 0.0;
            inherit: "default" 0.0;
            min: 0 0;
            max: 999999 0;
         }
      }
      part { name: "sb_hbar_p1"; type: RECT;
         clip_to: "sb_hbar";
         description { state: "default" 0.0;
            color: 0 0 0 0; // no cc
            rel1.to: "sb_hbar";
            rel2.relative: 0.0 1.0;
            rel2.to: "elm.dragable.hbar";
            fixed: 1 1;
         }
      }
      part { name: "sb_hbar_p2"; type: RECT;
         clip_to: "sb_hbar";
         description { state: "default" 0.0;
            color: 0 0 0 0; // no cc
            rel1.relative: 1.0 0.0;
            rel1.to: "elm.dragable.hbar";
            rel2.to: "sb_hbar";
            fixed: 1 1;
         }
      }
      part { name: "elm.dragable.hbar"; type: RECT;
         scale: 1;
         clip_to: "sb_hbar";
         dragable.x: 1 1 0;
         dragable.y: 0 0 0;
         dragable.confine: "sb_hbar";
         description { state: "default" 0.0;
            fixed: 1 1;
            min: 15 15;
            rel1.relative: 0.5  0.5;
            rel1.to: "sb_hbar";
            rel2.relative: 0.5  0.5;
            rel2.to: "sb_hbar";
            color: 0 0 0 0; // no cc
         }
         description { state: "hidden" 0.0;
            inherit: "default" 0.0;
            min: 0 0;
         }
         description { state: "clicked" 0.0;
            inherit: "default" 0.0;
         }
      }
      part { name: "sb_hbar_over"; type: RECT;
         repeat_events: 1;
         scale: 1;
         description { state: "default" 0.0;
            color: 0 0 0 0; // no cc
            rel1.to: "sb_hbar";
            rel1.offset: 0 -45;
            rel2.to: "sb_hbar";
            fixed: 1 1;
            offscale;
         }
      }
      program { signal: "mouse,in"; source: "sb_hbar_over";
         action: STATE_SET "over" 0.0;
         transition: DECELERATE 0.2;
         target: "base_hbar";
      }
      program { signal: "mouse,out"; source: "sb_hbar_over";
         action: STATE_SET "default" 0.0;
         transition: DECELERATE 0.2;
         target: "base_hbar";
      }
      part { name: "x_hbar_left_mapper"; type: SPACER;
         scale: 1;
         repeat_events: 1;
         description { state: "default" 0.0;
            min: 2 4;
            max: 2 4;
            fixed: 1 1;
            align: 0.0 1.0;
            rel1.to: "sb_hbar";
            rel2.to: "sb_hbar";
         }
         description { state: "hidden" 0.0;
            inherit: "default" 0.0;
            min: 0 0;
            max: 0 0;
         }
      }
      part { name: "x_hbar_left"; type: SPACER;
         scale: 1;
         repeat_events: 1;
         description { state: "default" 0.0;
            min: 2 4;
            max: 2 4;
            fixed: 1 1;
            align: 0.0 1.0;
            rel1.to: "elm.dragable.hbar";
            rel2.to: "elm.dragable.hbar";
         }
         description { state: "hidden" 0.0;
            inherit: "default" 0.0;
            min: 0 0;
            max: 0 0;
         }
      }
      part { name: "x_hbar_right_mapper"; type: SPACER;
         scale: 1;
         repeat_events: 1;
         description { state: "default" 0.0;
            min: 2 4;
            max: 2 4;
            fixed: 1 1;
            align: 1.0 1.0;
            rel1.to: "sb_hbar";
            rel2.to: "sb_hbar";
         }
         description { state: "hidden" 0.0;
            inherit: "default" 0.0;
            min: 0 0;
            max: 0 0;
         }
      }
      part { name: "x_hbar_right"; type: SPACER;
         scale: 1;
         repeat_events: 1;
         description { state: "default" 0.0;
            min: 2 4;
            max: 2 4;
            fixed: 1 1;
            align: 1.0 1.0;
            rel1.to: "elm.dragable.hbar";
            rel2.to: "elm.dragable.hbar";
         }
         description { state: "hidden" 0.0;
            inherit: "default" 0.0;
            min: 0 0;
            max: 0 0;
         }
      }
      program { signal: "elm,action,show,hbar"; source: "elm";
         action: STATE_SET "default" 0.0;
         target: "sb_hbar";
         target: "sb_hbar_show";
         target: "elm.dragable.hbar";
         target: "x_hbar_left_mapper";
         target: "x_hbar_left";
         target: "x_hbar_right_mapper";
         target: "x_hbar_right";
      }
      program { signal: "elm,action,hide,hbar"; source: "elm";
         action: STATE_SET "hidden" 0.0;
         target: "sb_hbar";
         target: "sb_hbar_show";
         target: "elm.dragable.hbar";
         target: "x_hbar_left_mapper";
         target: "x_hbar_left";
         target: "x_hbar_right_mapper";
         target: "x_hbar_right";
      }
      program { signal: "mouse,down,1*"; source: "sb_hbar_p1";
         action: DRAG_VAL_PAGE -1.0 0.0;
         target: "elm.dragable.hbar";
      }
      program { signal: "mouse,down,1*"; source: "sb_hbar_p2";
         action: DRAG_VAL_PAGE  1.0 0.0;
         target: "elm.dragable.hbar";
      }
//      program { signal: "elm,action,show,left"; source: "elm";
//      }
//      program { signal: "elm,action,show,right"; source: "elm";
//      }
//      program { signal: "elm,action,hide,left"; source: "elm";
//      }
//      program { signal: "elm,action,hide,right"; source: "elm";
//      }
//      program { signal: "elm,action,scroll"; source: "elm";
//      }
//      program { signal: "elm,loop_x,set"; source: "elm";
//      }
//      program { signal: "elm,loop_x,unset"; source: "elm";
//      }

      //////////////////////////////////////////////////////////////////////
      part { name: "color_vbar"; type: RECT; mouse_events: 0;
         clip_to: "sb_vbar_show";
         description { state: "default" 0.0;
            fixed: 1 1;
            color_class: "/fg/normal/scroller/bar/vertical";
         }
         description { state: "disabled" 0.0;
            inherit: "default" 0.0;
            color_class: "/fg/disabled/scroller/bar/vertical";
         }
         description { state: "clicked" 0.0;
            inherit: "default" 0.0;
            color_class: "/fg/pressed/scroller/bar/vertical";
         }
      }

      part { name: "base_vbar"; type: RECT; mouse_events: 0;
         scale: 1;
         clip_to: "color_vbar";
         description { state: "default" 0.0;
            fixed: 1 1;
            rel.to: "elm.dragable.vbar";
            min: 5 15;
            max: 5 999999;
            align: 1.0 0.5;
         }
         description { state: "over" 0.0;
            inherit: "default" 0.0;
            min: 15 15;
            max: 15 999999;
         }
      }

      //////////////////////////////////////////////////////////////////////
      part { name: "color_hbar"; type: RECT; mouse_events: 0;
         clip_to: "sb_hbar_show";
         description { state: "default" 0.0;
            fixed: 1 1;
            color_class: "/fg/normal/scroller/bar/horizontal";
         }
         description { state: "disabled" 0.0;
            inherit: "default" 0.0;
            color_class: "/fg/disabled/scroller/bar/horizontal";
         }
         description { state: "clicked" 0.0;
            inherit: "default" 0.0;
            color_class: "/fg/pressed/scroller/bar/horizontal";
         }
      }

      part { name: "base_hbar"; type: RECT; mouse_events: 0;
         scale: 1;
         clip_to: "color_hbar";
         description { state: "default" 0.0;
            fixed: 1 1;
            rel.to: "elm.dragable.hbar";
            min: 15 5;
            max: 999999 5;
            align: 0.5 1.0;
         }
         description { state: "over" 0.0;
            inherit: "default" 0.0;
            min: 15 15;
            max: 999999 15;
         }
      }

      //////////////////////////////////////////////////////////////////////

      part { name: "dim_effect"; type: RECT; mouse_events: 0;
         description { state: "default" 0.0;
            color: 32 32 32 0; // no cc
            visible: 0;
         }
         description { state: "effect" 0.0;
            color: 32 32 32 255; // no cc
         }
      }
   }
   programs {
      program { signal: "elm,state,disabled"; source: "elm";
         action: STATE_SET "disabled" 0.0;
         target: "color_hbar";
         target: "color_vbar";
      }
      program { signal: "elm,state,enabled"; source: "elm";
         action: STATE_SET "default" 0.0;
         target: "color_hbar";
         target: "color_vbar";
      }
      program { signal: "mouse,down,1*"; source: "elm.dragable.vbar";
         action: STATE_SET "clicked" 0.0;
         target: "elm.dragable.vbar";
         target: "color_vbar";
      }
      program { signal: "mouse,down,*"; source: "elm.dragable.vbar";
         action: SIGNAL_EMIT "elm,vbar,press" "elm";
      }
      program { signal: "mouse,up,1"; source: "elm.dragable.vbar";
         action: STATE_SET "default" 0.0;
         target: "elm.dragable.vbar";
         target: "color_vbar";
      }
      program { signal: "mouse,up,*"; source: "elm.dragable.vbar";
         action: SIGNAL_EMIT "elm,vbar,unpress" "elm";
      }

      program { signal: "mouse,down,1*"; source: "elm.dragable.hbar";
         action: STATE_SET "clicked" 0.0;
         target: "elm.dragable.hbar";
         target: "color_hbar";
      }
      program { signal: "mouse,down,*"; source: "elm.dragable.hbar";
         action: SIGNAL_EMIT "elm,hbar,press" "elm";
      }
      program { signal: "mouse,up,1"; source: "elm.dragable.hbar";
         action: STATE_SET "default" 0.0;
         target: "elm.dragable.hbar";
         target: "color_hbar";
      }
      program { signal: "mouse,up,*"; source: "elm.dragable.hbar";
         action: SIGNAL_EMIT "elm,hbar,unpress" "elm";
      }
      program { signal: "elm,action,looping,left"; source: "elm";
         action: STATE_SET "effect" 0.0;
         transition: LINEAR 0.3;
         target: "dim_effect";
         after: "looping,left,done";
      }
      program { name: "looping,left,done";
         action: SIGNAL_EMIT "elm,looping,left,done" "elm";
      }
      program { signal: "elm,action,looping,left,end"; source: "elm";
         action: STATE_SET "default" 0.0;
         transition: LINEAR 0.3;
         target: "dim_effect";
      }
      program { signal: "elm,action,looping,right"; source: "elm";
         action: STATE_SET "effect" 0.0;
         transition: LINEAR 0.3;
         target: "dim_effect";
         after: "looping,right,done";
      }
      program { name: "looping,right,done";
         action: SIGNAL_EMIT "elm,looping,right,done" "elm";
      }
      program { signal: "elm,action,looping,right,end"; source: "elm";
         action: STATE_SET "default" 0.0;
         transition: LINEAR 0.3;
         target: "dim_effect";
      }
      program { signal: "elm,action,looping,up"; source: "elm";
         action: STATE_SET "effect" 0.0;
         transition: LINEAR 0.3;
         target: "dim_effect";
         after: "looping,up,done";
      }
      program { name: "looping,up,done";
         action: SIGNAL_EMIT "elm,looping,up,done" "elm";
      }
      program { signal: "elm,action,looping,up,end"; source: "elm";
         action: STATE_SET "default" 0.0;
         transition: LINEAR 0.3;
         target: "dim_effect";
      }
      program { signal: "elm,action,looping,down"; source: "elm";
         action: STATE_SET "effect" 0.0;
         transition: LINEAR 0.3;
         target: "dim_effect";
         after: "looping,down,done";
      }
      program { name: "looping,down,done";
         action: SIGNAL_EMIT "elm,looping,down,done" "elm";
      }
      program { signal: "elm,action,looping,down,end"; source: "elm";
         action: STATE_SET "default" 0.0;
         transition: LINEAR 0.3;
         target: "dim_effect";
      }
   }
}

group { name: "elm/scroller/base/noclip";
   inherit: "elm/scroller/base/default";
   parts {
      part { name: "clipper";
         description { state: "default" 0.0;
            rel1.offset: -999999 -999999;
            rel2.offset: 999999 999999;
         }
      }
      part { name: "elm.swallow.background";
         description { state: "default" 0.0;
            rel1.offset: 0 0;
            rel2.offset: -1 -1;
         }
      }
      part { name: "elm.swallow.content";
         description { state: "default" 0.0;
            rel1.offset: 0 1;
            rel2.offset: -1 -1;
         }
      }
      part { name: "sh_clip"; type: RECT;
         description { state: "default" 0.0;
            visible: 0;
         }
      }
   }
}

group { name: "elm/scroller/contents/default";
   parts {
      part { name: "elm.swallow.content"; type: SWALLOW;
         description { state: "default" 0.0;
         }
      }
      part { name: "elm.swallow.content_r";
         type: SWALLOW;
         description { state: "default" 0.0;
            fixed: 1 1;
            rel1 {
                relative: 1.0 0.0;
                to: "elm.swallow.content";
            }
            rel2 {
                relative: 2.0 1.0;
                to: "elm.swallow.content";
            }
         }
      }
      part { name: "elm.swallow.content_b";
         type: SWALLOW;
         description { state: "default" 0.0;
            fixed: 1 1;
            rel1 {
                relative: 0.0 1.0;
                to: "elm.swallow.content";
            }
            rel2 {
                relative: 1.0 2.0;
                to: "elm.swallow.content";
            }
         }
      }
      part { name: "elm.swallow.content_rb";
         type: SWALLOW;
         description { state: "default" 0.0;
            fixed: 1 1;
            rel1 {
                relative: 1.0 1.0;
                to: "elm.swallow.content";
            }
            rel2 {
                relative: 2.0 2.0;
                to: "elm.swallow.content";
            }
         }
      }
   }
}

group { name: "elm/scroller/base/popup/no_inset_shadow";
   inherit: "elm/scroller/base/default";
   alias: "elm/scroller/base/no_inset_shadow";
   alias: "elm/gengrid/base/no_inset_shadow";
   parts {
      part { name: "elm.swallow.content"; type: SWALLOW;
         description { state: "default" 0.0;
            rel1.offset: 0 0;
            rel2.offset: 0 0;
         }
      }
   }
}
